package settings

import (
	"fmt"
	"github.com/fsnotify/fsnotify"
	"github.com/spf13/viper"
)

func Init() (err error) {
	viper.SetConfigFile("config.yaml") // 指定文件名 + 类型
	//viper.SetConfigName("config") // 指定文件名称
	//viper.SetConfigType("yaml") // 从远程获取配置文件信息，指定类型
	viper.AddConfigPath(".") // 当前执行程序所在的路径

	err = viper.ReadInConfig()
	if err != nil {
		fmt.Printf("读取配置文件失败! err: %v\n", err)
		return
		//panic(fmt.Errorf("读取配置文件失败: %s\n", err))
	}

	viper.WatchConfig() // 实时监控文件变化

	viper.OnConfigChange(func(e fsnotify.Event) {
		// 配置文件发生变更之后会调用的回调函数
		fmt.Println("Config file changed:", e.Name)
	})

	return

}
